package com.bigger.arch.app.repository.dao;

import com.bigger.arch.app.repository.model.UserModel;
import org.apache.ibatis.annotations.Param;

import java.math.BigInteger;
import java.util.List;

public interface UserDao {

    UserModel getItemById(Integer id);

    UserModel getItemByName(String name);

    List<UserModel> getItems();

    List<UserModel> getLimitItems(int offset, int limitSize);

    List<UserModel> serachItems(@Param("serachModel") UserModel serachModel, @Param("offset") int offset, @Param("limitSize") int limitSize);

    List<UserModel> searchUsersAndArticles(@Param("userName") String userName, @Param("title") String title, @Param("offset") int offset, @Param("limitSize") int limitSize);

    BigInteger getCount();

    Integer insertItem(UserModel userModel);

    Integer updateItem(UserModel userModel);

    Integer updateBalance(UserModel userModel);

    Integer deleteItem(UserModel userModel);

    Integer deleteItems(List<Integer> ids);
}
